Aspnetcore: [Blazor] Manipulasi DOM Langsung dengan C#

Dibuat pada 22 Jan 2019  ·  3Komentar  ·  Sumber: dotnet/aspnetcore

Apakah permintaan fitur Anda terkait dengan masalah? Tolong jelaskan.

Apakah mungkin untuk memanipulasi DOM dari kode C# secara langsung tanpa menjalankan fungsi javascript?

Saya memikirkan dasar-dasar seperti itu

var elem = document.getElementById("123");

elem.AddOrUpdateStyle("background-color", "red");
elem.AddOrUpdateStyle("height", "150px");
elem.Remove("height");

var boxes = document.getElementsByClassName("box");

foreach (var box in boxes)
{
   if (box.Classes.Contains("hidden"))
   {
      box.AddOrUpdateStyle("display", "none");
      continue;
   }

   box.Value = "";
   box.SetAttribute("placeholder", "Type here...");
}

Apakah itu bahkan bisa dicapai?

area-blazor

Komentar yang paling membantu

Saya pikir masalah ini harus dibuka kembali. Komponen pisau cukur harus memiliki kemampuan ini, bahkan jika itu dilakukan dengan interop JS di bawah tenda. ElementRef harus diperluas untuk mendukung sebagian besar fungsi JS dasar.

Semua 3 komentar

Manipulasi DOM saat ini tidak didukung oleh perakitan web (https://github.com/WebAssembly/proposals/issues/16 , https://github.com/WebAssembly/design/blob/master/Web.md), jadi menang 'tidak akan didukung oleh mono wasm segera. Anda dapat melakukannya hanya dengan menggunakan status Blazor : komponen kustom dan interop JS saat ini.

Saya pikir masalah ini harus dibuka kembali. Komponen pisau cukur harus memiliki kemampuan ini, bahkan jika itu dilakukan dengan interop JS di bawah tenda. ElementRef harus diperluas untuk mendukung sebagian besar fungsi JS dasar.

Akses DOM langsung akan menjadi alasan saya untuk mencoba Blazor.
Ini wajib untuk break-thru Blazor.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat