我正在尝试向 CustomScrollView 添加一个 Text 小部件,但我遇到了目标不一样的问题。
这是我的小部件:
@override
Widget build(BuildContext context) {
final double statusBarHeight = MediaQuery.of(context).padding.top;
return Scaffold(
key: scaffoldKey,
body: CustomScrollView(
semanticChildCount: 2,
slivers: <Widget>[
_buildAppBar(context, statusBarHeight),
Text('test')
],
));
}
Run Code Online (Sandbox Code Playgroud)
_buildAppBar 方法返回一个 SliverAppBar。
我需要使用 Padding 小部件而不是文本,但我认为它会是一样的,这是同样的问题。
我想通过向左简单滑动来更改一个窗口,我必须有 2 个窗口,当用户向右滑动时,我想更改我的路线。
我正在使用命名路由。
void main() => runApp(new HeatMapApp());
class HeatMapApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'HeatMap',
initialRoute: '/',
routes: {
'/': (context) => new Main(),
'/home': (context) => new Home()
},
theme: new ThemeData(
primaryColor: Colors.black
)
);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在应用程序中的代码,主文件现在没有太多数据,我想知道滑动事件以重定向到“home”路径。
主dart
class Main extends StatelessWidget {
final bool _isLoggedIn = true;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: _isLoggedIn ? AppBar …Run Code Online (Sandbox Code Playgroud) 我需要删除ListTile中领先的Widget和标题Widget之间的一些填充。它有太多的空格。有没有办法做到这一点?我为此使用的代码是这样的:
ListTile _getActionMenu(String text, IconData icon, Function() onTap) {
return new ListTile(
leading: new Icon(icon),
title: new Text(text),
onTap: onTap,
);
}
Run Code Online (Sandbox Code Playgroud) 我需要制作一个滑块,该滑块工作得很好,它有它的分区,但我需要做的是在每个分区中设置数字,我的意思是,如果滑块有 3 个分区,则设置数字 1、2、3 ,某种东西:
1 2 3
---|---|---|---
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我正在使用的代码是这样的:
Slider(
value: _place.value,
min: 0.0,
max: 10.0,
divisions: 10,
onChangeStart: (double value) {
print('Start value is ' + value.toString());
},
onChangeEnd: (double value) {
print('Finish value is ' + value.toString());
},
onChanged: (double value) {
if (vm.isRatingPlace) {
setState(() {
_place.value = value;
});
}
},
activeColor: HeatMapColors.getOnFireColor(_place.value),
inactiveColor: Colors.black45,
))
Run Code Online (Sandbox Code Playgroud) 我试图以多行显示文本,我的意思是这样的:
“我是一条短信
我在这里完成”
当我尝试执行此操作时,我看到一条条显示“右侧溢出443像素”。我有这个UI结构:
@override
Widget build(BuildContext context) {
return Card(
child: Scaffold(
body: Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(15.0),
child: Image.asset('images/place.png'),
)
],
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
padding: EdgeInsets.fromLTRB(0.0, 0.0, 0.0, 15.0),
child: Text(
_placeCard.description,
style: TextStyle(),
softWrap: true
)
)
],
),
],
),
)
);
}
Run Code Online (Sandbox Code Playgroud)
_placeCard.description类似于:“自1500年代以来,当未知的打印机拿起一个厨房类型并将其打乱到时”
有人可以帮助我还是给我任何反馈?
我正在使用 GraphQL 创建一个订阅,我需要使用 Flutter 使用该订阅,但我不知道如何做到这一点,我需要的东西就像一个与订阅相关联的 UI 组件,它会会自动刷新。
我将不胜感激任何反馈。
我遇到问题,我试图获取滑块的最终值,但由于某种原因, onChangeEnd 被触发 2 次,当用户移动滑块时,它会在初始位置触发,并在用户完成时触发最新位置。我需要在更改结束时处理一个函数,但由于它被触发了两次,我只需要使用第二个函数,我需要一种方法来逃避第一个函数。我认为这可能与 setState 函数有关,但如果我删除它,滑块将不会移动。
代码如下:
Slider(
value: _place.value,
min: 0.0,
max: 10.0,
divisions: 10,
onChangeStart: (double value) {
print('Start value is ' + value.toString());
},
onChangeEnd: (double value) {
print('Finish value is ' + value.toString());
},
onChanged: (double value) {
if (vm.isRatingPlace) {
setState(() {
_place.value = value;
});
}
},
activeColor: HeatMapColors.getOnFireColor(_place.value),
inactiveColor: Colors.black45,
));
Run Code Online (Sandbox Code Playgroud)
通过我那里的打印,当我尝试将滑块从位置 0 移动时,我得到以下结果:
Start value is 0.0
Finish value is 0.0
Start value is 0.0
Finish value is 6.0- 我只需要 …
有没有办法将setState与StatelessWidget一起使用?我知道我可以与StatefulWidget一起使用并使用State,但是我不知道是否有一种方法可以与StatelessWidget一起使用。
我认为这是一个直接的问题,不需要显示代码。
如果您能帮助我,我将不胜感激。
我有一个问题,我无法使用 Mongoose 获取 2 个模式之间的关系,我是使用它的新用户,我使用的是 NestJS,这是一个使用 TypeScript 的 NodeJS 框架。
我有这些文件:
user.schema.ts
import * as mongoose from 'mongoose';
export const UserSchema = new mongoose.Schema({
name: String,
email: String,
role: Number,
tokens: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Token'}]
});
Run Code Online (Sandbox Code Playgroud)
token.schema.ts
import * as mongoose from 'mongoose';
export const TokenSchema = new mongoose.Schema({
token: String,
refreshToken: String,
createdAt: String,
expiresAt: String,
isValid: Boolean,
userId: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User'}]
});
Run Code Online (Sandbox Code Playgroud)
因此,关系已创建,我可以看到它,但我不知道如何获取 User 架构的子项。在我的 ts 我有这个:
await this.userModel.find().populate('user', 'tokens').exec()
Run Code Online (Sandbox Code Playgroud)
据我所知,这是为了获得两个模式之间的关系。顺便说一句:集合是用户和令牌。
我将不胜感激任何反馈或如果我必须说清楚。
我需要将一些参数发送到命名路由。我想做类似的事情:
Navigator.pushNamed('/route/1');
Run Code Online (Sandbox Code Playgroud)
要么
Navigator.pushNamed('/route?param1=1');
Run Code Online (Sandbox Code Playgroud)
我不知道是否有办法做到这一点,我将MaterialApp与路由器配合使用。
dart ×10
flutter ×10
graphql ×1
mongoose ×1
navigation ×1
nestjs ×1
node.js ×1
subscription ×1
typescript ×1