Получить выделенный текст из ввода с помощью Blazor - PullRequest
0 голосов
/ 07 февраля 2020

В ранней версии Blazor был интерфейс IHtmlInputElement со свойствами selectionStart и selectionEnd.

Может кто-нибудь объяснить, как я могу использовать их для получения выделенного текста из элемента управления вводом текста в C#?

ОБНОВЛЕНИЕ Вот что у меня есть до сих пор.

@page "/selectedtext"
@inject IJSRuntime JsRuntime

<h3>TextSelection</h3>

<input type="text" placeholder="Type here" @ref="myTextInput"/>

<button class="btn btn-primary" @onclick="@(async () => await GetSelectionStart(myTextInput))"></button>

@code {
    public ElementReference myTextInput { get; set; }

    public async Task GetSelectionStart(ElementReference element)
    {
        int pos = await JsRuntime.InvokeAsync<int>("GetSelectedStart", element);
    }
}

// myscript.js
{
    getSelectedStart : function (element) {
        return element.selectionStart;
    }
}

1 Ответ

1 голос
/ 07 февраля 2020
@page "/selectedtext"
@inject IJSRuntime JsRuntime

<h3>TextSelection</h3>

<input type="text" placeholder="Type here" @ref="myTextInput"/>

<button class="btn btn-primary" @onclick="@(async () => await GetSelectionStart(myTextInput))">Get Position</button>

@code {
    public ElementReference myTextInput { get; set; }

    public async Task GetSelectionStart(ElementReference element)
    {
        int pos = await JsRuntime.InvokeAsync<int>("getSelectedStart", element);
    }
}

// myscript.js
window.getSelectedStart = (element) => {
        return element.selectionStart;
    }

...