我有一个ListView.builder小部件,先包裹在 a 中RefreshIndicator,然后再包裹在FutureBuilder. 刷新不会更新我的列表,我必须关闭应用程序并再次打开它,但刷新代码与我的FutureBuilder.
请参阅下面的代码,当我阅读它时,我希望小部件树肯定会更新。
@override
void initState() {
super.initState();
taskListFuture= TaskService().getTasks();
}
@override
Widget build(BuildContext context) {
return Consumer<TaskData>(builder: (context, taskData, child) {
return FutureBuilder(
future: taskListFuture,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
taskData.tasks = (snapshot.data as ApiResponseModel).responseBody;
return RefreshIndicator(
onRefresh: () async {
var responseModel = await TaskService().getTasks();
setState(() {
taskData.tasks = responseModel.responseBody;
});
},
child: ListView.builder(
...
...
Run Code Online (Sandbox Code Playgroud)
如果需要更多代码,请告诉我,提前致谢!
积分
当我在调试模式下运行应用程序时,我的种子方法由于“丢失”服务而失败。错误信息是:
尚未注册类型“Microsoft.AspNetCore.Identity.RoleManager`1[Microsoft.AspNetCore.Identity.IdentityRole]”的服务。
有人可以帮我在StartUp.cs课堂上正确注册这项服务吗?谢谢!
public static class RolesConfig
{
public static async Task InitialiseAsync(ApplicationDbContext context, IServiceProvider serviceProvider)
{
var roleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();
string[] roleNames = {"Admin", "Report", "Search"};
foreach (var roleName in roleNames)
{
var roleExist = await roleManager.RoleExistsAsync(roleName);
if (!roleExist)
await roleManager.CreateAsync(new IdentityRole(roleName));
}
}
}
Run Code Online (Sandbox Code Playgroud)
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to …Run Code Online (Sandbox Code Playgroud) 我正在尽我所能找到一种方法来使用javascript加载页面来抓取网站,这样我就可以说我的播放列表了.我没有运气镀铬驱动器和幻影.请看下面,看看你是否可以帮我解决这个错误.
using OpenQA.Selenium;
//The type or namespace 'PhantomJS' does not exist in the namespace 'OpenQASelenium'
using OpenQA.Selenium.PhantomJS;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MusicScaper
{
class TidalScraper
{
}
}
Run Code Online (Sandbox Code Playgroud)
我的packages.config文件如下:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="HtmlAgilityPack" version="1.8.7" targetFramework="net461" />
<package id="PhantomJS" version="2.1.1" targetFramework="net461" />
<package id="Selenium.Support" version="3.14.0" targetFramework="net461" />
<package id="Selenium.WebDriver" version="3.14.0" targetFramework="net461" />
</packages>
Run Code Online (Sandbox Code Playgroud) 我有一个ObservableCollection UrlsList.我的WPF应用程序中还有一个复选框,它使用IsChecked属性修改列表中的项目.我遇到的问题是当我写一些lambda表达式来过滤我想要的数据时,我无法将其分配回UrlsList.它只是将我的列表设置为null,然后崩溃应用程序.谢谢你的帮助.
public ObservableCollection<URLModel> UrlsList { get; set; } = new ObservableCollection<URLModel>();
public void CheckBoxOnClick()
{
if (URLModel.IsChecked)
UrlsList = UrlsList.Select(url => url.ExistsInDb) as ObservableCollection<URLModel>;
else
UrlsList = UrlsList.Select(n => n.ExistsInDb == false) as ObservableCollection<URLModel>;
}
Run Code Online (Sandbox Code Playgroud)
我有一个 ContentPage,它引用了 ContentView。在此内容视图中,我有一个自定义选取器控件,我绑定了其他属性,例如ItemsSource,ItemSelected但 ItemDisplayBinding 很痛苦。我可以在 Xamarin Forms Picker 类的代码中看到,它不像其他字段那样是一个简单的可绑定属性字段。目前,当我单击选择器时,我收到此错误。我知道特定的显示绑定属性,因为选择器无需我初始化即可正常工作。
Java.Lang.NullPointerException
Message=Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
Run Code Online (Sandbox Code Playgroud)
<controls:MyPickerView PickerTitle="Select time period"
PickerItemDisplayBinding="{Binding Display}"
PickerItemsSource="{Binding AppointmentRangeOptions}"/>
Run Code Online (Sandbox Code Playgroud)
<ContentView.Content>
<Frame >
<Picker Title = "{Binding PickerTitle}"
HorizontalOptions="FillAndExpand"
IsEnabled="{Binding PickerIsEnabled}"
ItemDisplayBinding="{Binding PickerItemDisplayBinding}"
SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
ItemsSource="{Binding PickerItemsSource, Mode=OneWay}"/>
</Frame>
</ContentView.Content>
Run Code Online (Sandbox Code Playgroud)
public partial class MyPickerView : ContentView
{
public MyPickerView()
{
InitializeComponent();
Content.BindingContext = this;
}
public static readonly BindableProperty PickerIsEnabledProperty = …Run Code Online (Sandbox Code Playgroud) 使用剃刀页面我正在尝试建立一个用于销售服装的电子商务网站,我想使用一次页面作为模板来加载男士和女士页面。为了测试这可以在我使用的_Layout.cshtml页面中完成<a asp-page="/Shop" asp-route-id="Mens" class="nav-link">Mens</a>,然后在:
[BindProperties]
public class ShopModel : PageModel
{
public string Status { get; set; }
public void OnGet(string gender)
{
switch (gender)
{
case "Mens":
//get men page
Status = gender;
break;
case "Womens":
//get womens page
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
@page
@model ECommerce.Pages.Shop.ShopModel
@{
ViewData["Title"] = "Shop";
}
<p>
@Model.Status
</p>
Run Code Online (Sandbox Code Playgroud)
当我调试时,性别的值显示为null,因此永远不会设置状态。我会以错误的方式解决这个问题吗?非常感谢任何帮助,谢谢!
c# ×4
asp.net-core ×1
flutter ×1
lambda ×1
oop ×1
phantomjs ×1
razor-pages ×1
selenium ×1
web-scraping ×1
xamarin ×1
xamarin.ios ×1
xaml ×1