这段代码以前似乎可以工作,但是现在我无法让网络上的自动填充工作。Chrome 会在网址栏上显示一个小键,让用户保存密码(尽管没有大的保存密码弹出窗口),但它对重新访问页面没有任何影响。
代码:
class LoginPage extends StatefulWidget {
@override
_LoginPageState createState() => _LoginPageState();
}
class _LoginPageState extends State<LoginPage> {
final userNameController = TextEditingController();
final passController = TextEditingController();
String errorText = '';
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: AutofillGroup(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
loginPageTextField('Username', userNameController),
SizedBox(height: 20),
loginPageTextField('Password', passController, isPassword: true),
SizedBox(height: 10),
Container(
child: Padding(
padding: const EdgeInsets.all(15.0),
child: Text(errorText,
style: TextStyle(fontSize: 12, color: Colors.red)),
),
),
ElevatedButton( …Run Code Online (Sandbox Code Playgroud) 我无法做到这一点.所以,我正在制作一个讲述当前时间的简单脚本. audiocontainer是一个音频元素,而mp3play()函数已被更早定义.我们的想法是这样做:
[play hourXX.mp3] - >结束时 - > [play minutesXX.mp3] - >删除监听器,因此停止.
如果没有 removeEventListener()函数,则minuteXX.mp3会无限循环("这是12分钟和54分钟...... 54分钟...... 54分钟......"因为它会在最后触发侦听器.
使用 removeEventListener()函数,音频根本不会启动.你知道为什么吗?
或者有没有更简单的方法连续播放2个MP3?
function telltime() {
var d = new Date();
var h = d.getHours();
var m = d.getMinutes();
audiocontainer.addEventListener('ended', function () {
mp3play('./time/minutes/minute'+m.toString()+'.mp3');
audiocontainer.removeEventListener('ended', function(), false); // stop!
}, true);
mp3play('./time/hours/hour'+h.toString()+'.mp3');
}
Run Code Online (Sandbox Code Playgroud)